//On ajoute un peu de milliseconde pour les bouton de chargement pour que ça soit visible :
var msLoading = 300;
function toogleLoadingButton(str)
{
	//On prend le timestamp actuel :
	var timestamp = new Date().getTime();
	//On stock le this jQuery :
	var $this = $(str);
	//Si le bouton n'a pas la class, on l'ajoute :
	if(!$this.attr('loading'))
		$this.attr('loading', '0');
	//Si le bouton n'est pas en chargement, on le met avec le bon timestamp :
	if($this.attr('loading') == '0')
	{
		$this.attr('loading', timestamp);
		$this.button('loading');
		return false;
	}
	//Sinon :
	else
	{
		//On créé une fonction de reset :
		function toogleLoadingButtonReset()
		{
			$this.attr('loading', '0');
			$this.button('reset');
		}
		//On prend l'ancien timestamp :
		ancienTimestamp = $this.attr('loading');
		//On calcule le temps d'execution :
		var tempsExec = timestamp - ancienTimestamp;
		//Si c'est trop rapide, on reset le bouton un peu plus tard :
		if(tempsExec < msLoading)
			setTimeout(toogleLoadingButtonReset, msLoading - tempsExec);
		//Sinon on le reset direct :
		else
			toogleLoadingButtonReset();
		return false;
	}
}